The present invention generally relates to a communication technique conforming to the IrDA (Infrared Data Association) standards as an infrared bidirectional wireless communication standard, and more particularly, to a method of improving communication efficiency in simultaneous communication between plural host devices and plural peripheral devices.
Conventionally, the “IrDA Control Method” (IrDA Control Specification, Final Revision 1.0, Jun. 30, 1998) is known as an infrared wireless communication method. As the IrDA control method is an infrared communication method enabling bidirectional communication, a product using a remote control unit conforming to IrDA-control to download an electronic program guide from a set top box and operate the guide and the like have been proposed.
Further, in the IrDA control method, as up to 8 devices can be connected, a product where one game machine is connected to plural game pads to allow plural players to join a game and the like have been proposed.
FIG. 12 is a block diagram showing the construction of the conventional IrDA control apparatus, and FIGS. 13 to 15, timing charts of Enumeration procedure in the conventional IrDA control apparatus.
Note that “Enumeration” means a procedure to register a peripheral device, which is to communicate with a host device, in the host device.
As shown in FIG. 12, the conventional IrDA control apparatus has at least a pair of host device 21 and peripheral device 22. The host device 21 has a host IrDA control signal transmission/reception unit 23 and a host communication control unit 24, and the peripheral device 22 has a peripheral device IrDA control signal transmission/reception unit 25, a peripheral device communication control unit 26 and an operation unit 27.
The host device 21 and the peripheral device 22 are connected with each other by IrDA control signals via the host IrDA control signal transmission/reception unit 23 and the peripheral device IrDA control signal transmission/reception unit 25. The host communication control unit 24 controls communication in the host device 21, and the peripheral device communication control unit 26 controls communication in the peripheral device 22. The operation unit 27 is operated by an operator to control the host device 21.
The host device 21 and the peripheral device 22 perform Enumeration so as to recognize the respective devices. The Enumeration is started by operation at the operation unit 27 of the peripheral device 22 by the operator, and as shown in FIG. 13, the peripheral device 22 transmits an Enumeration request, Enum-Wakeup, then the host device 21 receives the Enum-Wakeup, and transmits Enum-Hailing. Then the peripheral device 22 receives the Enum-Hailing, and transmits Enum-Request. In response to the request, the host device 21 transmits Enum-Response. By this procedure, the host device 21 transmits its unique information to the peripheral device 22 that has transmitted the Enum-Wakeup, thereby registers the peripheral device 22 in preparation for communication.
However, as the Enum-Wakeup transmitted by the peripheral device lacks information to designate the host device, if plural host devices exist, as shown in FIG. 14, the plural host devices simultaneously transmit the Enum-Hailing in response to the Enum-Wakeup, which causes command collision and disturbs communication.
Further, as the Enum-Hailing transmitted by the host device also lacks information to designate the peripheral device, if plural peripheral devices exist, as shown in FIG. 15, the plural peripheral devices simultaneously transmit the Enum-Request in response to the Enum-Hailing, which causes command collision and disturbs communication.
Further, when the Enumeration has been completed, a Bind procedure is performed upon start of data communication. To perform actual communication with the IrDA control peripheral device that has completed the Enumeration, the host device receives unique information of the peripheral device. In the Bind procedure, as Bind-Hailing transmitted by the host device 21 lacks information to designate the peripheral device, if plural peripheral devices exist, the plural peripheral devices simultaneously transmit Bind-Request in response to the Bind-Hailing, which causes command collision and disturbs communication, as in the case of the Enumeration.
To solve the problems, the IrDA Control Specification (Final Revision 1.0, Jun. 30, 1998) has a description of avoiding command collision by plural peripheral devices, if exist in the system and simultaneously respond to a command from the host device, by respectively generating a back-off value from “0” to “7” at random, and ignoring a command frame from the host device by a number corresponding to the back-off value to shift command transmission timing.
Further, the above specification also has a description of Dithering to avoid command collision by plural host devices, if exist in the system and simultaneously respond to a command from the peripheral device, by respectively generating waiting time from 0 msec to 12 msec at random, and delaying command transmission by the waiting time, thus shifting command transmission timing.
However, in the collision avoiding methods described in the above specification, the possibility of command collision is uncertain before command collision actually occurs.
Further, as the command transmission timing is shifted by values generated at random, the command collision cannot be always avoided by an optimum procedure.
Further, if plural host devices and plural peripheral devices exist, it is necessary to first avoid collision of commands transmitted by the host devices by the Dithering, then to find timing avoiding collision by using back-off values generated at random by the respective peripheral devices with respect to the commands from the respective host devices. In this procedure, much time is required to establish communication between the host devices and the peripheral devices, and further, time to complete the procedure cannot be defined.